$ (function ()
{
	$ ("#jqGrid").jqGrid (
	{
	    url : '/datasourceconfig/list',
	    datatype : "json",
	    colModel : [
	            {
	                label : '数据源ID',
	                name : 'dcId',
	                width : 50,
	                key : true,
	                hidden : true
	            },
	            {
	                label : '数据库驱动',
	                name : 'driverClass',
	                width : 80
	            },
	            {
	                label : '数据库名称',
	                name : 'dbName',
	                width : 80
	            },
	            {
	                label : '数据库连接ip',
	                name : 'ip',
	                width : 80
	            },
	            {
	                label : '数据库连接端口',
	                name : 'port',
	                width : 80
	            },
	            {
	                label : '数据库用户名',
	                name : 'username',
	                width : 80
	            },
	            {
	                label : '数据库密码',
	                name : 'password',
	                width : 80
	            
	            }
	    ],
	    
	    viewrecords : true,
	    height : 385,
	    rowNum : 10,
	    rowList : [
	            10, 30, 50
	    ],
	    rownumbers : true,
	    rownumWidth : 25,
	    autowidth : true,
	    multiselect : true,
	    pager : "#jqGridPager",
	    jsonReader :
	    {
	        root : "data.page.list",
	        page : "data.page.currPage",
	        total : "data.page.totalPage",
	        records : "data.page.totalCount"
	    },
	    prmNames :
	    {
	        page : "page",
	        rows : "limit",
	        order : "sord"
	    },
	    gridComplete : function ()
	    {
		    // 隐藏grid底部滚动条
		    $ ("#jqGrid").closest (".ui-jqgrid-bdiv").css (
		    {
			    "overflow-x" : "hidden"
		    });
	    }
	});
});

var vm = new Vue (
{
    el : '#rrapp',
    data :
    {
        showList : true,
        title : null,
        datasourceConfig : {}
    },
    methods :
    {
        query : function ()
        {
	        vm.reload ();
        },
        add : function ()
        {
	        vm.showList = false;
	        vm.title = "新增";
	        vm.datasourceConfig =
	        {
//		        driverClass : "com.mysql.jdbc.Driver"
	        };
        },
        update : function (event)
        {
	        var dcId = getSelectedRow ();
	        if (dcId == null)
	        {
		        return;
	        }
	        vm.showList = false;
	        vm.title = "修改";
	        
	        vm.getInfo (dcId)
        },
        saveOrUpdate : function (event)
        {
	        var url = vm.datasourceConfig.dcId == null ? "../datasourceconfig/save" : "../datasourceconfig/update";
	        $.ajax (
	        {
	            type : "POST",
	            url : url,
	            data : JSON.stringify (vm.datasourceConfig),
	            success : function (r)
	            {
		            if (r.code === 0)
		            {
			            alert ('操作成功', function (index)
			            {
				            vm.reload ();
			            });
		            }
		            else
		            {
			            alert (r.msg);
		            }
	            }
	        });
        },
        del : function (event)
        {
	        var dcIds = getSelectedRows ();
	        if (dcIds == null)
	        {
		        return;
	        }
	        
	        confirm ('确定要删除选中的记录？', function ()
	        {
		        $.ajax (
		        {
		            type : "POST",
		            url : "../datasourceconfig/delete",
		            data : JSON.stringify (dcIds),
		            success : function (r)
		            {
			            if (r.code == 0)
			            {
				            alert ('操作成功', function (index)
				            {
					            $ ("#jqGrid").trigger ("reloadGrid");
				            });
			            }
			            else
			            {
				            alert (r.msg);
			            }
		            }
		        });
	        });
        },
        getInfo : function (dcId)
        {
	        $.get ("../datasourceconfig/info/" + dcId, function (r)
	        {
		        vm.datasourceConfig = r.data.datasourceConfig;
	        });
        },
        reload : function (event)
        {
	        vm.showList = true;
	        var page = $ ("#jqGrid").jqGrid ('getGridParam', 'page');
	        $ ("#jqGrid").jqGrid ('setGridParam',
	        {
		        page : page
	        }).trigger ("reloadGrid");
        }
    }
});
